Some storage systems include several storage devices and each storage device may be engaged in one storage operation (e.g., “read”, “write”, or “erase” operation) or another. Storage operations may occasionally need to be performed simultaneously in two or more storage devices. However, performing storage operations on several storage devices simultaneously is limited by the maximum current that can be provided by the storage system using these storage devices. With two or more storage devices operating simultaneously, sometimes on peak current consumption level, there is a danger that the total current required by these two or more storage devices would exceed the maximum allowable current.
Under such circumstances, the voltage provided to the storage devices from a power supply or from a charge pump will drop below a valid operation level, causing the behavior of the storage devices to be unpredictable. In such a case, if, for example, the last storage operation was programming (i.e., writing) data to one of the storage devices, that data may be corrupted as a result of the undesired decrease in the system's operating voltage.
Briefly, a charge pump, as used in a flash memory, is an electric circuit that generates a relatively high voltage that is used to manipulate the amount of electrical charge within flash memory cells to write new data into these cells, to erase data from memory cells, and to read data from these cells. Being a voltage source, a charge pump is designed to provide an electrical current whose value is permitted to change from zero to some maximal value beyond which the level of the output voltage of the charge pump starts to decrease uncontrollably.
There is, therefore, a need to for a system that can perform multiple operations simultaneously in a controlled manner, without jeopardizing the operating voltage of the storage system.